package org.lc.stk.service.bank;

import org.lc.stk.model.banks.MultiCourseBank;
import org.lc.stk.web.dto.bank.MultiCourseBankDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface MultiCourseBankService {
    
    /**
     * 创建多课程题库
     */
    MultiCourseBank create(MultiCourseBankDTO dto);

    /**
     * 更新多课程题库
     */
    MultiCourseBank update(Integer id, MultiCourseBankDTO dto);

    /**
     * 删除多课程题库，逻辑删除，停用
     */
    void delete(Integer id);

    /**
     * 根据ID获取多课程题库
     */
    MultiCourseBank getById(Integer id);

    /**
     * 分页查询多课程题库
     */
    Page<MultiCourseBank> query(String name, Integer state, Pageable pageable);

    /**
     * 检查题库名称是否存在
     */
    boolean isNameExists(String name, Integer excludeId);
}